Method used to create multihop RF network based on a low performance 8 bit microcontroller

ABSTRACT

This invention comprises a method to manage the routing in a multi-hop network. The hardware platform is an 8-bit micro-controller with additional peripherals. The data storage unit ( 118 ) is implemented by an external memory. This method uses four internal data buffers and an algorithm to manage them inside the micro-controller.

BACKGROUND OF INVENTION

[0001] 1. Field of Invention

[0002] This invention relates to data transmission over a multi-hop RFnetwork using a low cost and low processing power 8-bit micro controllerin order to overcome power limitations on the signal.

[0003] 2. Discussion of Prior Art

[0004] A RF network is a group of nodes distributed in an irregulartopography, everyone within the power area of the other nodes.

[0005] Communicating with a node through more than one node is known asa multiple-hop communication system.

[0006] In order to overcome the problems of the power limitations of thesignal, some RF networks employ a net layer that improves theutilization of a method which is capable of send a message hoppingthrough nodes until it reaches the destination node.

[0007] These methods use one of two ways for routing, and according towhich one is used, the method is table based or dynamical routing based.Table based stores all the routing information in a data storage unit orDSU (118), when a node needs to send a message, uses the informationstored in the DSU (118) in order to route the message. Dynamical routingbased routes dynamically the messages, and does not need the DSU, butthe messages present in the network are higher, when a node needs tosend a message sends a broadcast in order to obtain the path to thedestination node and then sends the message. Due to mobility, the tablebased methods must maintain the table. The maintenance is an algorithmthat periodically updates the table. The utilization of high performancemicro-controllers to manage the complex algorithm for routing has beenwidely used U.S. Pat. No. 5,682,379, so, in order to decrease the costof the device used as node this invention is a method to communicatenodes within a multi-hop network using low performance 8-BMC (114).

[0008] So is well known, the low performance 8-bit micro-controllershave speed, memory and processing limitations, so it is hard to use fora RF multi-hop network application. Thus, the devices developed withthis method have to be economical because of the low performance 8-bitmicro-controller low cost.

SUMMARY OF INVENTION

[0009] This invention comprises a method to manage the routing in amulti-hop network.

[0010] The hardware platform is an 8-bit micro-controller withadditional peripherals. The data storage unit (118) is implemented by anexternal memory.

[0011] This method uses four internal data buffers and an algorithm tomanage them inside the micro-controller.

OBJECTS AND ADVANTAGES

[0012] Accordingly, several objects and advantages of the presentinvention are:

[0013] a) To provide a wireless multi hop network management with asingle 8-bit micro-controller, suitable to the processing and memorylimitations of a low processing power micro-controller.

[0014] b) To interface an external serial device with the multi hopnetwork.

[0015] c) To achieve a low cost device.

[0016] d) To increase the network area, instead increasing the power ofthe signal.

BRIEF DESCRIPTION OF DRAWINGS

[0017]FIG. 1 shows the hardware architecture for a single node.

[0018]FIG. 2 shows the data architecture inside the micro-controller,and the flow of data.

[0019]FIG. 3 shows the internal architecture of the data storage unit.

[0020]FIG. 4 shows the fields inside the header.

[0021]FIG. 5 shows a normal message transmission on a multi-hop network.

[0022]FIG. 6 shows the algorithm of the request response functionality.

LIST OF REFERENCE NUMERALS IN DRAWINGS

[0023]110 Antenna.

[0024]112 Serial device.

[0025]114 8-bit micro-controller.

[0026]116 Radio frequency transceiver.

[0027]118 Data storage unit.

[0028]210 Serial device input buffer.

[0029]212 Auxiliary buffer.

[0030]214 Network input buffer.

[0031]216 Serial device output buffer.

[0032]218 Network output buffer.

[0033]310 Configuration data.

[0034]312 a 1 First node address in the table.

[0035]12 a 2 Second node address in the table.3

[0036]312 a 3 Third node address in the table.

[0037]312 an N° node address in the table.

[0038]410 Transmitter node address field.

[0039]412 Receiver node address field.

[0040]414 Sender node address field.

[0041]416 Destination node address field.

[0042]418 Length of the message field.

[0043]420 Frame tag field.

[0044]422 Request response field.

[0045]424 Data string field.

[0046]426 Cyclic redundancy check field.

[0047]510 Sender node.

[0048]512 Transmitter node.

[0049]514 Receiver node.

[0050]516 Destination node.

[0051]518 Message.

[0052]610 Flowchart start blocks.

[0053]612, 618, 622 Flowchart decision blocks.

[0054]614, 616, 620, 626, 628, 630 Flowchart process blocks.

[0055]624 Flowchart end blocks.

DETAILED DESCRIPTION

[0056] Each node uses as basic components a micro-controller (114), a RFtransceiver (116), a DSU (118) and a hardwired interface to communicatea serial device or SD (112) like a computer to the RF network.

[0057] Each node has two interfaces; one interface is node to serialdevice, comprising an asynchronous data input an output, and its ownbuffers (210 and 216). Another interface is a node to net, with an inputbuffer (214) and an output buffer (218).

[0058] The buffers are located internally in the 8-bit micro-controller(114) as shown on FIG. 2. The flow of the information goes through thebuffers according to the kind of message.

[0059] Each node has one DSU (118), located externally out themicro-controller. This DSU stores the address table, comprised by manynode addresses or NA (312 a 1, 312 a 2, 312 a 3, until 312 an, let be naddresses), and the configuration data or CD (310).

[0060] A header is the beginning of the message. The header containsfields, which are useful to send messages through a multi-hop network;these fields manage the flow of the message through the net. Therefore,in order to send a message through the multi-hop network, it is neededonly four fields: sender node address (414), transmitter node address(410), receiver node address (412) and destination node address (416).

[0061] The sender node address or SNA (414) contains the address of thenode that originates the message. The transmitter node address or TNA(410) contains the address of the node that is transmitting the message,this address changes when the message go through the net adopting theaddress of the n° hop. The receiver node address or RNA (412) containsthe address of the node that is receiving the message from the n° hop,and will be the n+1° hop in the next hop. The destination node addressor DNA (416) contains the address of the last node that receives themessage.

[0062] Some kind of messages requires an answer from the destinationnode, therefore, the header must contain a field inside that indicatesthis condition, so there is a field named RR (422).

ADDITIONAL EMBODIMENTS

[0063] There are fields in the header that are not mentioned, but itsuse is reserved to the medium access control layer. They are: length orL (418), frame tag or FT (420), data string or DS (424) and cyclicredundancy check or CRC (426).

OPERATION OF THE INVENTION

[0064] A normal communication in a multi-hop network is as shown in FIG.5. This scheme comprises a message hopping from node to node. A sendernode or SN (510), it sends the message at first. A transmitter node orTN (512), it is the n° hop and transmits the message to the n+1° hop. Areceiver node or RN (514), which is the n+1° hop and receives themessage in order to retransmit it; a destination node or DN (516), whichreceives the message at last; and a message or M (518), which is hoppingthrough the network.

[0065] The operation of this invention comprises four cases, when themessage goes from the serial device to the network, from the serialdevice to the same serial device, from the network to the serial device,and from the network to the network.

[0066] The cases where the message returns to the same way, let be theserial device or the network, are caused by network commands, and theyare another kind of message that are intended to makes changes to theconfiguration data in the DSU (118). Therefore, the message is repliedby the node itself and the response is sent back to the sender, let be anode or the serial device.

[0067] When the message goes from the serial device to network, the datais received from the serial device and stored in a buffer named serialdevice input buffer or SDIB (210), then the message is copied, previousprocessing, to a transmission buffer or network output buffer NOB (218),and goes away through the network.

[0068] When the message goes from the serial device to the same serialdevice, the data is received from the serial device and stored in theserial device input buffer or SDIB (210), then the message is copied,previous processing, to a serial device output buffer or SDOB (216), andgoes to the serial device (112).

[0069] When the message goes from the network to the serial device, thedata is received from a buffer named network input buffer NIB (214) andstored in a buffer named auxiliary buffer or AB (212), thus beforeprocessing, the message is copied, to the SDOB (216), and goes to theserial device (112).

[0070] When the message goes from the network to the network, the datais received from the NIB (214), then is copied to the AB (212), thusbefore processing, the message is copied, to the NOB (218), and goesaway through the network. This case can be originated by aretransmission of the message too.

[0071] In order to ensure the request response functionality, thisinvention enables the utilization of the algorithm shown in FIG. 6.

[0072] This algorithm works as follows. When a message is received fromthe network (610), is compared the destination node address (416) withthe own node address (612). If the comparison does not match, this isbecause a retransmission message, then the node searches for the nexthop (614) and retransmit the message (616). When the comparison matches,the message is tested to determine if it is a network command or NC(618). If the message is a NC, the NC will be executed by the node(620). Then the RR (422) is tested (622), if the response is requiredthe node sends a message back to the sender node (626), if no responseis required the algorithm ends (624). When the message is not a NC, thenthe message is sent to the serial device (628). Then the RR (422) istested (622), if the response is required the node sends a requestresponse message to the serial device (630), thus after the serialdevice answer, the node sends this answer back to the sender node (626).If no response is required, then the algorithm ends (624).

[0073] The automatic creation of the table is the most importantprocesses because the table once completed can accept few changes; oneof these changes could be the arrival of a new node in the network.

[0074] In order to illustrate the algorithm of automatic creation of thetable, let be a node surrounded by neighbors and all of them surroundedby distant neighbors.

[0075] A first node sends its update table to everybody, then theneighborhood send the acknowledge message to the sender, the sendersorts the neighborhood by its address, then the sender requires each byeach neighborhood its node address table in order to complete the entirenetwork. If a neighbor does not sends the acknowledge message, thus itwill figure as a node behind one neighbor, then the error will disappearwhen these nodes exchange messages between them. Once the first node hasthe completed table, sends messages to the network, each by each node,in order to include the own address in the others node tables.

Conclusion, Ramification and Scope of Invention

[0076] This invention is suitable for developing low cost communicationdevices on a RF medium, because the use of low cost micro-controller andlow cost transmitters. However, a device that uses this method can beeasily connected to a serial device, for example: a computer, with aminimal of technical knowledge. Therefore, it is possible to make a lowcost and reliable RF computer network, with low power consumption,ideally when powered with batteries.

[0077] The description above is intended, however, to include all suchmodifications and alterations insofar as they come within the scope ofthe appended claims or the equivalents thereof.

What is claimed is:
 1. A method for managing the routing in a multi-hopnetwork, the method comprising the steps of: Having a node with amircro-controller means, a RF transceiver means, data storage means, anetwork interface means with an input buffer, output buffer andauxiliary buffer and a serial device communication means; Having thedata storage means store a plurality of node addresses and configurationdata; Having a plurlarity of serial devices; Having the messages containa header at the beginning of the message with the fields sender nodeaddress, transmitter node address, receiver node address and destinationnode address; Processing a message to a node from the serial device tonetwork by receiving the message from the serial device, storing themessage in the input buffer, copying the message to the output buffer,and transmitting the message to the the network; Processing a message toa node from a serial device to the same serial device by receiving themessage from the serial device, storing the message in the input buffer,copying the message is copied to the output buffer and transmitting themessage to the serial device; Processing a message to a node from thenetwork to a serial by receiving the message from the input buffer,storing the message the auxiliary buffer, copying the message to theoutput buffer, and transmitting the message to the serial device;Processing a message to a node from the network to the network byreceiving the message from the input buffer, storing the message theauxiliary buffer, copying the message to the output buffer, andtransmitting the message to the network; Processing a message by havinga sender node send the message, having a plurlarity of nodes receive andre-transmit the message until the destination node receives the message;and Processing a message from the network to a node by comparing thenode's address with the destination node address; if the address doesnot match, the message is a retransmission message and the node searchesfor the next node and retransmits the message, if the address matches,the message is tested to determine if the message is a network command,if the message is a network command, the network command will beexecuted by the node, if the message is not a network command, themessage is sent to the serial device, if an acknowledgement is requiredthe node sends a request response message to the serial device, afterthe node receives the acknowledgement from serial device the node sendsan acknowledgement to the sender node.
 2. The method of claim 1 in whichsaid microcontroller means is an 8-bit micro-controller.
 3. The methodof claim 1 in which said network interface means consists of an inputbuffer and an output buffer located internal on the microcontrollermeans.
 4. The method of claim 1 in which said header contains the fieldssender node address, transmitter node address, receiver node address,destination node address, length, frame tag, data string and cyclicredundancy check.
 5. The method of claim 1 in which said serial deviceis a computer,
 6. The method of claim 1 in which said serial device is aDVC.
 7. The method of claim 1 which includes the steps of: setting up anaddress table automatically by a node send a message to all of the nodeson the network, having the nodes send acknowledge messages to the sendernode, having the sender node sort the nodes by the nodes' addresses andloading the addresses into an address table, then the sender sendsmessages to each node in the network to include the sender node'saddress in the other node's address tables.
 8. A communication systemcomprising: A node with a mircro-controller means, a RF transceivermeans, data storage means, a network interface means with an inputbuffer, output buffer and anxiallary buffer and a serial devicecommunication means; A Data storage means store a plurality of nodeaddresses and configuration data; A plurlarity of serial devices;Messages that contain a header at the beginning of the message with thefields sender node address, transmitter node address, receiver nodeaddress and destination node address; Said node processing a messagefrom the serial device to network by receiving the message from theserial device, storing the message in the input buffer, copying themessage to the output buffer, and transmitting the message to the thenetwork; Said node processing a message from a serial device to the sameserial by receiving the message from the serial device, storing themessage in the input buffer, copying the message to the output buffer,and transmitting the message to the serial device; Said node processinga message from the network to a the serial device by receiving themessage an input buffer, storing the message on an auxiliary buffer,copying the message to the output buffer, and transmitting the messageto the serial device; Said node processing a message from the network tothe network by receiving the message an input buffer, storing themessage on an auxiliary buffer, copying the message to the outputbuffer, and transmitting the message to the network; Said nodeprocessing a message by having a sender node sends the message at first,having a plurlarity of nodes receive and re-transmit the message untilthe destination node receives the message; and Said node processing amessage from the network in which the destination node address iscompared with the node's address, if the address does not match, themessage is a retransmission message and the node searches for the nextnode and retransmits the message, if the address matches, the message istested to determine if the message is a network command, if the messageis a network command, the network command will be executed by the node,if the message is not a network command, the message is sent to theserial device, if an acknowledgement is required the node sends arequest response message to the serial device, after the node receivesthe acknowledgement from serial device the node sends an acknowledgementto the sender node.
 9. The device of claim 8 in which saidmicrocontroller means is an 8-bit microcontroller.
 10. The device ofclaim 8 in which said network interface means consists of an inputbuffer and an output buffer located internal on the microcontrollermeans.
 11. The device of claim 8 in which said header contains thefields sender node address, transmitter node address, receiver nodeaddress, destination node address, length, frame tag, data string andcyclic redundancy check.
 12. The method of claim 8 in which said serialdevice is a computer
 13. The method of claim 8 in which said serialdevice is a DVC.
 14. The device of claim 8 in which an address table isset up automatically by a node sending a message to all of the nodes onthe network, having the nodes send acknowledge messages to the sendernode, having the sender node sort the nodes by the nodes' addresses andload into an address table, then the sender sends messages to each nodein the network to include the sender node's address in the other nodes'address tables.